/**
 * eslint valid-jsdoc: "off"
 *
 * @format
 */

/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
module.exports = (appInfo) => {
    /**
     * built-in config
     * @type {Egg.EggAppConfig}
     **/
    const config = (exports = {});
    // 将public下的静态资源重定向到根目录下

    config.cluster = {
        // listen: {
        //     path: "",
        //     port: 8000,
        //     // hostname: "127.0.0.1",
        // },
    };
    config.cors = {
        origin: '*', //允许的域，*代表所有的
        // origin: "http://127.0.0.1", //允许的域，*代表所有的
        allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH', //允许跨域的请求方法
        credentials: true, //后端允许跨域携带cookie
    };
    // use for cookie sign key, should change to your own and keep security
    config.keys = appInfo.name + '_1709005039878_2564';
    // 文件上传的配置
    config.multipart = {
        mode: 'file',
        fileSize: '1GB', // 调整为更大的值，例如 '50mb'
        fileExtensions: [
            // 图像文件
            '.jpg',
            '.jpeg',
            '.png',
            '.gif',
            '.bmp',
            '.svg',
            // 文档文件
            '.doc',
            '.docx',
            '.pdf',
            '.txt',
            '.rtf',
            // 表格文件
            '.xls',
            '.xlsx',
            '.csv',
            // 幻灯片文件
            '.ppt',
            '.pptx',
            // 压缩文件
            '.zip',
            '.rar',
            '.tar.gz',
            // 音频文件
            '.mp3',
            '.wav',
            '.flac',
            '.aac',
            // 视频文件
            '.mp4',
            '.mov',
            '.avi',
            '.mkv',
            // 网页文件
            '.html',
            '.htm',
        ],
    };

    // add your middleware config here
    config.middleware = [];
    // 关闭安全验证
    config.security = {
        csrf: {
            enable: false,
        },
    };

    // 配置数据库
    // config.mysql = {
    //     // 单数据库信息配置
    //     client: {
    //         // host
    //         host: '127.0.0.1',
    //         // 端口号
    //         port: '3306',
    //         // 用户名
    //         user: 'root',
    //         // 密码
    //         password: 'root',
    //         // 数据库名
    //         database: 'yunying',
    //     },
    //     // 是否加载到 app 上，默认开启
    //     app: true,
    //     // 是否加载到 agent 上，默认关闭
    //     agent: false,
    // };

    // session的默认配置
    config.session = {
        key: 'EGG_SESS',
        maxAge: 24 * 3600 * 1000, // 1 天
        httpOnly: true,
        encrypt: true,
    };
    // tooken
    config.jwt = {
        secret: 'scsvcsssssdfvsdvsdfvfdsvd',
    };

    // add your user config here
    const userConfig = {
        // myAppName: 'egg',
    };
    config.static = {
        prefix: '/',
    };
    return {
        ...config,
        ...userConfig,
    };
};
